package com.scvtc.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import com.scvtc.domain.ResResult;
import com.scvtc.domain.dto.system.menu.SystemMenuDto;
import com.scvtc.domain.dto.system.menu.SystemMenuUpdateDto;
import com.scvtc.domain.entity.system.SystemMenu;
import com.scvtc.domain.vo.PageVo;

import java.util.List;

/**
 * 菜单管理(SystemMenu)表服务接口
 *
 * @author yiFei
 * @since 2022-04-13 17:38:28
 */
public interface SystemMenuService extends IService<SystemMenu> {
    /**
     * 根据用户id查询用户菜单ids
     *
     * @param id
     * @return
     */
    ResResult<List<Long>> getMenusByUserId(Long id);

    /**
     * 获取所有菜单
     *
     * @return
     */
    ResResult<PageVo<List<SystemMenuUpdateDto>>> getAllMenus(Long current, Long size, String name);

    /**
     * 修改菜单
     *
     * @param systemMenu
     * @return
     */
    ResResult<?> updateMenus(SystemMenuUpdateDto systemMenu);

    /**
     * 查询菜单（拥有子权限）
     *
     * @return
     */
    ResResult<List<SystemMenuDto>> getChildrenList();
}

